In a cloud computing environment, computing is delivered as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a metered service over a network, such as the Internet. In such an environment, computation, software, data access and storage services are provided to users that do not require knowledge of the physical location and configuration of the system that delivers the services.
The functions of the cloud computing environment are performed by a data center, which includes various types of hardware components (e.g., storage controllers, network switches, physical compute machines). In order for the hardware component to be fully operational, the hardware component has to be configured thereby specifying the hardware, software, firmware and documentation of the hardware component.
Currently, such hardware components are configured by installing software on a computing device (e.g., laptop computer) to build a configuration file for the hardware component. Once the user of the computing device has selected the settings (e.g., Internet Protocol (IP) address, subnet mask, format of disks, topology of disks) to be included in the configuration file, the configuration file is stored on a Universal Serial Bus (USB) flash drive (also referred to as a “USB key”) plugged into the computing device. The USB key is then plugged into the hardware component which automatically detects the USB key and runs the configuration file stored on the USB key.
Unfortunately, such a process in configuring a hardware component has to be repeated for each different type of hardware component that needs to be configured. As a result, the process becomes burdensome and labor intensive when you have a large number of different types of hardware components that need to be configured.